package deepsea;

import org.roaringbitmap.RoaringBitmap;

public class RaringBitmapDemo {

    public static void main(String[] args) {

        // 构造一个包含初始元素的 bitmap对象
        RoaringBitmap bitmap1 = RoaringBitmap.bitmapOf(1, 2, 5, 8, 9);

        RoaringBitmap bitmap2 = RoaringBitmap.bitmapOf();

        // 往bitmap中添加元素
        bitmap2.add(1);
        bitmap2.add(3);
        bitmap2.add(4);
        bitmap2.add(6);
        bitmap2.add(8);


        // 判断一个元素是否存在于bitmap中
        System.out.println(bitmap2.contains(6));  // true
        System.out.println(bitmap2.contains(7));  // false

        // 两个bitmap 进行或运算（求并集）
        bitmap1.or(bitmap2);
        System.out.println(bitmap1.contains(6));  // true


        //
        System.out.println(bitmap2.getCardinality());  // 基数
        System.out.println(bitmap1.getCardinality());  // 基数


    }



}
